home *** CD-ROM | disk | FTP | other *** search
/ ETO Development Tools 1 / ETO Development Tools 1.iso / Essentials / Developer Essentials Jul 90 / Programming / MPW Interfaces & Libraries 3.1 / CIncludes / Assert.h < prev    next >
Encoding:
Text File  |  1989-10-13  |  773 b   |  40 lines  |  [TEXT/MPS ]

  1. /************************************************************
  2.  
  3.     Assert.h
  4.     Diagnostics
  5.     
  6.     Copyright Apple Computer,Inc.  1987-1989
  7.     All rights reserved
  8.  
  9. ************************************************************/
  10.  
  11.  
  12. #undef assert
  13.  
  14. #ifdef NDEBUG
  15.  
  16. #define assert(ignore) ((void) 0)
  17.  
  18. #else
  19.  
  20. #ifndef __STDIO__
  21. #include <StdIO.h>
  22. #endif __STDIO__
  23.  
  24. #ifdef __cplusplus
  25. void __abort();
  26. #define assert(expression) \
  27.     ( (expression) ? (void) 0 : \
  28.         (fprintf(stderr, "File %s; Line %d ## Assertion failed: " #expression "\n", \
  29.         __FILE__, __LINE__), __abort()))
  30. #else
  31. void abort(void);
  32. #define assert(expression) \
  33.     ( (expression) ? (void) 0 : \
  34.         (fprintf(stderr, "File %s; Line %d ## Assertion failed: " #expression "\n", \
  35.         __FILE__, __LINE__), abort()))
  36. #endif
  37.  
  38. #endif NDEBUG
  39.  
  40.